The invention relates to a digital filter arrangement for producing a sequence of digital filter signals from a sequence of digital input signals fed to a filter input, with the aid of a number N of filter coefficients. Such filters can be implemented as time-domain filters or as frequency-domain filters. Problems can occur in the case of these different implementations, which problems are intended to be explained in more detail in the following text using the example of an arrangement for echo suppression for a loudspeaker telephone installation. Such an arrangement contains a receiving path for received signals, a signal connection for reception of an input signal which is formed by superimposition of a locally produced signal and a changed received signal, a first digital filter of order N for producing the correction signals from received signals, a superimposition arrangement for reception of the input signal and of the correction signals and for emitting a transmit signal, and a computation arrangement having a first frequency-domain filter for repeated adaptive production of coefficients for the first digital filter from an auxiliary signal, which corresponds to the transmit signal, and is disclosed in EP 0 301 627 A1. FIG. 1 illustrates the basic structure for use in a loudspeaker telephone installation. The signals, generally voice signals, are received by the opposite station via a receiving path 1 and are reproduced via a loudspeaker 7. A microphone 8 picks up the reproduced received signal via an echo path 9, together with a local signal 10, especially from a loudspeaker. In the case of typical environmental conditions in loudspeaker telephone installations, the echo path 9 can be modelled to a very good approximation as a linear dynamic transmission system (filter) and it varies the reproduced received signal both in terms of frequency response and in its position in time, that is to say it is delayed, and a plurality of differently delayed received signals, with differently changed frequency spectra, generally arrive superimposed at the microphone 8. The input signal produced by the microphone 8 is fed to an input 3 of the circuit arrangement and is passed via a superimposition arrangement 6 to a transmit output 5, from where it is transmitted to the opposite end. Echo components in the transmit signal generally have an interfering effect at the opposite end. The signal comprehensibility can be considerably adversely affected, depending on the intensity of the echoes and the delay time between the end points of the link. Furthermore, particularly in the field of two-wire/four-wire junctions in the telephone network, it is possible for part of the transmit signal at the output 5 also to be fed to the receiving path 1 so that a closed loop is formed via the echo path 9, which can tend to produce feedback oscillations. It is thus necessary to suppress as much as possible from the input signal at the input 3 that component coming via the echo path 9, before the input signal is emitted via the output 5.
This is done with the aid of a linear, dynamic filter 2 which produces a signal from the received signal on the receiving path 1, which signal largely corresponds to the echo signal arriving at the microphone 8 via the echo path 9, and this echo signal is subtracted from the input signal, in the superimposition arrangement 6, so that only the signal 10 of the local loudspeaker still essentially appears at the output 5. Since the properties of the echo path 9, however, depend largely on the local conditions and can vary even in the short term, the filter 2 cannot be rigidly set, but its coefficients must be continuously matched to the instantaneous echo signal. This is done with the aid of a computation arrangement 4, in accordance with known algorithms. In this case, the computation arrangement 4 as well as the filter 2 normally operate using time-discrete digital signal values, while the received signal on the receiving path 1 and the input signal at the input 3 are normally analog. The analog/digital converters and digital/analog converters required in this case are not illustrated in any greater detail in FIG. 1 or in the following figures either.
The algorithm, which is used in the computation arrangement 4, for adaptively determining the filter coefficients is intended, on the one hand, to require as little computation complexity as possible and, on the other hand, to converge as quickly as possible. A favourable compromise between the two requirements, which can typically be satisfied simultaneously only with difficulty, is offered by the use of block frequency-domain algorithms. This means that the coefficients of the filter 2 are also produced in the frequency domain so that a frequency-domain filter is suitable for this filter. However, this has the disadvantage that the serial data flow between the input 3 and the superimposition arrangement 6 must be converted into data blocks for processing using the output values from the frequency-domain filter. The block formation is linked with a signal delay which is equal to the time period for sampling the non-overlapping signal values of two successive data blocks. This relationship becomes clearer in the further description. Such a delay of the transmit signal is, however, unacceptable, particularly for loudspeaker telephone installations (see also CCITT Recommendation G. 167).
In the abovementioned EP 0 301 627 A1, a time-domain filter which operates without any delay is therefore used for the filter 2. However, this time-domain filter has a high computation requirement and, in addition, it is necessary to take into account the fact that the time-domain filter replaces the frequency-domain filter only with respect to the calculation of the first correction signal, while it is also required within the computation arrangement 4 for calculating the auxiliary signal. The latter is used for calculations relating to continuous adaptation of the filter coefficients. As becomes clear from FIG. 2, which reproduces in simplified form a structure illustrated in the said document, the complexity for a system with an additional time-domain filter rises in comparison with a pure block frequency-domain filter, essentially by the complexity for the additional time-domain filter.
In the arrangement according to FIG. 2, a block of successive digital received signals is converted into parallel form in a transformation arrangement 44 and is subjected to block-by-block orthogonal transformation, for which purpose a fast Fourier transformation (FFT) is expediently used, in order to transform the block of successive received signals into the frequency domain. The signal blocks comprise B values, it being necessary for successive blocks to overlap by at least N-1 values. The number L of new, non-overlapping values per block determines the time period which is required for collecting a block. Block frequency-domain algorithms, which satisfy these requirements, are designated as an "overlap save" method. Implementations which are favourable in terms of complexity are achieved using the B=2N, L=N.
The signals in the frequency domain occurring at the output 45 are fed to a computation arrangement 40 and to a frequency-domain filter 42. This produces at the output 43 a block of filtered signals in the frequency domain which are subjected via a further transformation arrangement 46 to inverse orthogonal transformation, that is to say in this case to inverse fast Fourier transformation (IFFT). The transformation arrangement 46 emits the signals, which have been transformed in the time domain, block-by-block to a second superimposition arrangement 48 which receives at a second input the input signals from the input 3, to be precise via an arrangement 47 which converts the serial data flow of the input signals at the input 3 into a parallel form, that is to say into data blocks. In this case, the same rules (overlapping) must be satisfied as in the case of block formation before the transformation device. The signals which occur at the output of the transformation arrangement 46 and thus, in the adapted case, correspond to the delayed echo signals of the echo path are subtracted from the signals at the output of the arrangement 47, so that an echo-suppressed signal is produced on the output line 49 of the second superimposition arrangement 48, which signal largely corresponds to the transmit signal at the output 5, but is shifted in time with respect to it. This auxiliary signal of the line 49 is fed to the computation arrangement 40 in order continuously to adapt the filter coefficients on the link 41.
These filter coefficients are additionally fed to a transformation arrangement 22 in which these filter coefficients are converted into time-domain coefficients with the aid of orthogonal transformation, which corresponds to that in the transformation arrangement 46, the time-domain coefficients being fed via the link 23 to the time-domain filter 2. In addition, these coefficients are buffer-stored on the link 23, as is described in the abovementioned document, although this is not important in this context. The filtered signals which are produced without any delay by the filter 2 with the aid of these coefficients are fed to the first superimposition arrangement 6 and there subtracted from the input signals obtained at the input 3, in order to produce the transmit signal which is emitted at the output 5. From application-oriented view points, the calculation in the transformation arrangement 22 and the preparation of the newly adapted coefficients can be delayed on the link 23 in order to achieve a favourable time breakdown of the individual computation steps of the algorithm.
As already mentioned, a time-domain filter requires high computation complexity. In the case of a filter of order N having N coefficients, N multiplications and N additions occur for each correction signal. Thus, for example, at a sampling frequency of 8 kHz for digitizing and with N=2048 filter coefficients, approximately 16.4 million additions and multiplications are required per second. This is virtually impossible to carry out using a conventional signal processor, as is generally used for implementing a filter, so that a plurality of processors must be used for this purpose.
A partitioned block frequency-domain filter which can be used for echo suppression arrangements in telephone installations is described under the title "Multi Delay Block Frequency Domain Adaptive Filter" in the journal "IEEE Trans. on ASSP", Vol. 38, No. 2, 1990, pp 373-376. FIG. 3 shows the structure of the method. In contrast to the closed frequency-domain algorithm, in the case of the partitioned method, the N filter coefficients w(i) are not defined in a block but in K partitions of size M=N/K. The time-domain coefficients w(0) . . . w(M-1), w(M) . . . w(2M-1) to w(K-1)M . . . w(KM-1) are present on the links 23.sub.0 to 23.sub.K-1. The first correction signal y (n) is determined using the filter 2, by means of the convolution operation. ##EQU1##
The frequency-domain coefficients are calculated on a partition basis in "adaptation arrangements" which are in each case composed of a computation arrangement 40.sub.0 to 40.sub.K-1 and of a frequency-domain filter 42.sub.0 to 42.sub.K-1. These are fed with data blocks on the input side via the link 45.sub.0 to 45.sub.K-1, which data blocks are smaller by a factor K than those in the closed adaptation method. The input data of adjacent adaptation arrangements are in each case delayed by one block duration with respect to one another, by delay units 38. This corresponds to a time period of M input signals. The first adaptation arrangement is fed from a transformation arrangement 44 which, on the input side, combines B=2M input signals to form an input data block. Each input data block overlaps the preceding block by M input signals. The output signals of the K frequency-domain filter partitions 42.sub.0 to 42.sub.K-1 are added in a summing unit 35 and are fed to a transformation unit 46. A second correction signal is available at the output of this transformation unit, which second correction signal corresponds essentially to a delayed version of the first correction signal. In a second superimposition arrangement 48, an auxiliary signal for adaptation of the frequency-domain coefficients is calculated from the second correction signal and in each case a number M of input data items from the input 3, which items are combined by the arrangement 47 to form a data block, and this auxiliary signal is fed via the link 49 to all the computation arrangements 40.sub.0 to 40.sub.K-1.